package jukebox.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class ControllerInterceptor extends HandlerInterceptorAdapter{
	
	Log log = LogFactory.getLog(getClass());
	
	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		//getSession(false) : 기존 세션이 있으면 리턴, 없으면 null 반환
		HttpSession session = request.getSession(false);
		//로그인 상태가 아니면 컨트롤러를 수행하지 않고 login.jsp로 redirect 시킨다.
		if(session==null||session.getAttribute("mvo")==null){
			System.out.println("#Interceptor 비로그인 상태이므로 로그인페이지로 이동#");
			response.sendRedirect(request.getContextPath()+"/loginView.ju");//
			return false;//false를 반환하면 Controller(Handler) 메서드 실행x
		}
		return true;//true를 반환하면 Controller(Handler) 메서드 실행된다.
	}
	
}
